package com.loongtech.bi.advertisment.service;

import com.loongtech.bi.advertisment.model.ActiveUrlTranData;
import com.loongtech.bi.advertisment.model.NewRemainData;
import com.loongtech.bi.advertisment.model.TotalPayData;
import com.loongtech.bi.entity.pay.EntityAdvNewUserLTV;

import java.util.List;

public interface AdvDayDataService {

    List<ActiveUrlTranData> getActiveTranDatas(String startday, String endday,
                                               String[] selectedAffiliation, String[] selectedChannelName,
                                               String[] selectedAgent, String[] selectedPlatform,
                                               String[] selectedPaytype, String[] selectedAdvPosition)
            throws Exception;

    List<ActiveUrlTranData> getActiveTranDatasByAgent(String startday, String endday,
                                                      String[] selectedAffiliation, String[] selectedChannelName,
                                                      String[] selectedAgent, String[] selectedPlatform,
                                                      String[] selectedPaytype, String[] selectedAdvPosition)
            throws Exception;

    List<ActiveUrlTranData> getActiveTranDatasByChannel(String startday, String endday,
                                                        String[] selectedAffiliation, String[] selectedChannelName,
                                                        String[] selectedAgent, String[] selectedPlatform,
                                                        String[] selectedPaytype, String[] selectedAdvPosition)
            throws Exception;

    List<NewRemainData> getNewRemainDatas(String startday, String endday,
                                          String[] selectedAffiliation, String[] selectedChannelName,
                                          String[] selectedAgent, String[] selectedPlatform,
                                          String[] selectedPaytype, String[] selectedAdvPosition)
            throws Exception;

    List<TotalPayData> getTotalPayDatas(String startday, String endday,
                                        String[] selectedAffiliation, String[] selectedChannelName,
                                        String[] selectedAgent, String[] selectedPlatform,
                                        String[] selectedPaytype, String[] selectedAdvPosition)
            throws Exception;

    List<EntityAdvNewUserLTV> getLTVPay(String startday, String endday,  String[] selectedAffiliation, String[] selectedChannelName,
                                        String[] selectedAgent, String[] selectedPlatform,
                                        String[] selectedPaytype, String[] selectedAdvPosition);

    List<EntityAdvNewUserLTV> getLTVPayByAgent(String startday, String endday,  String[] selectedAffiliation, String[] selectedChannelName,
                                               String[] selectedAgent, String[] selectedPlatform,
                                               String[] selectedPaytype, String[] selectedAdvPosition);

    List<EntityAdvNewUserLTV> getLTVPayByChannel(String startday, String endday,  String[] selectedAffiliation, String[] selectedChannelName,
                                                 String[] selectedAgent, String[] selectedPlatform,
                                                 String[] selectedPaytype, String[] selectedAdvPosition);
}
